/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Servlet;

import Negocio.Anuncio;
import Negocio.Evento;
import Negocio.EventoPrivado;
import Negocio.Usuario;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author JAVA
 */
public class Redireccionar extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            
            HttpSession sesion = request.getSession(); 
            String sitio = request.getParameter("sitio");
            
            if(sitio.equals("editar")){
                response.sendRedirect("perfilEditar.jsp");
            }
            if(sitio.equals("editarAnuncio")){                
                String id = request.getParameter("id");
                int idn = Integer.parseInt(id);
                Anuncio a = Anuncio.seleccionarAnuncio(idn);
                sesion.setAttribute("anuncio", a);
                response.sendRedirect("editarAnuncio.jsp");
            }
            if(sitio.equals("inicioI")){
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);               
                response.sendRedirect("inicio.jsp");
            }
            if(sitio.equals("seleccionarfoto")){
                String id= request.getParameter("id");
                String idu = request.getParameter("idu");
                Usuario us = Usuario.seleccionarUsuario(Integer.parseInt(idu));
                sesion.setAttribute("usuarioShow", us);  
                response.sendRedirect("fotoSeleccionada.jsp?idfoto="+id);                
            }
            if(sitio.equals("seleccionarRuta")){
                String id= request.getParameter("id");
                String idu = request.getParameter("idu");
                Usuario us = Usuario.seleccionarUsuario(Integer.parseInt(idu));
                sesion.setAttribute("usuarioShow", us);  
                response.sendRedirect("rutaSeleccionada.jsp?idruta="+id);                
            }
            if(sitio.equals("seleccionaramigo")){
                int id = Integer.parseInt(request.getParameter("id"));
                Usuario u = Usuario.seleccionarUsuario(id);                
                sesion.setAttribute("usuarioShow", u);  
                response.sendRedirect("perfil.jsp");
            }
            if(sitio.equalsIgnoreCase("editarBicicleta")){
                String id= request.getParameter("id");
                response.sendRedirect("editarBicicleta.jsp?idBicicleta="+id);                
            }
            if(sitio.equals("perfilI")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");               
                sesion.setAttribute("usuarioShow", up);
                response.sendRedirect("perfil.jsp");                
            }
            if(sitio.equals("fotosI")){                          
                response.sendRedirect("foto.jsp");                
            }
            if(sitio.equals("rutasI")){       
                response.sendRedirect("ruta.jsp");                
            }
            //aki tener cuidado con el usuario para cuando se vean los amigos de otro usuario
            if(sitio.equals("amigosI")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");                
                sesion.setAttribute("usuarioShow", up);
                response.sendRedirect("amigos.jsp");                
            }
            if(sitio.equals("seguidores")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");                
                sesion.setAttribute("usuarioShow", up);
                response.sendRedirect("seguidores.jsp");                
            }
            
            if(sitio.equals("eventosI")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("eventos.jsp");                
            }
            if(sitio.equals("listAnuncios")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("listAnuncios.jsp");                
            }
            if(sitio.equals("anunciosI")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("anuncios.jsp");                
            }
            if(sitio.equals("misAnuncios")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("misAnuncios.jsp");                
            }
            if(sitio.equals("bicicletaI")){          
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("bicicleta.jsp");                
            }
            
            if(sitio.equals("subirFoto")){
                request.setAttribute("foto", "");                
                request.getRequestDispatcher("examinarFoto.jsp").forward(request, response); 
            }
            if(sitio.equals("subirRuta")){
                request.setAttribute("foto", "");                
                request.getRequestDispatcher("examinarRuta.jsp").forward(request, response); 
            }
            
            if(sitio.equals("MandarMensaje")){
                int id = Integer.parseInt(request.getParameter("id"));
                Usuario u = Usuario.seleccionarUsuario(id);                
                sesion.setAttribute("usuarioShow", u);  
                response.sendRedirect("mensaje.jsp");
            }
            
            if(sitio.equals("cerrar")){          
                sesion.invalidate();
                response.sendRedirect("index.jsp");                
            } 
            
            if(sitio.equals("misMensajes")){
                Usuario up = (Usuario) sesion.getAttribute("usuario");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("Mismensajes.jsp");    
            }
            if(sitio.equals("perfil")){   
                Usuario up = (Usuario) sesion.getAttribute("usuario");               
                sesion.setAttribute("usuarioShow", up);
                response.sendRedirect("perfil.jsp");              
            }
            if(sitio.equals("fotos")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("foto.jsp");                
            }
            if(sitio.equals("rutas")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("ruta.jsp");                
            }
            if(sitio.equals("amigos")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("amigos.jsp");                
            }
            if(sitio.equals("bicicleta")){          
                Usuario up = (Usuario) sesion.getAttribute("usuarioShow");
                Usuario ut = Usuario.seleccionarUsuario(up.getId());
                sesion.setAttribute("usuarioShow", ut);
                response.sendRedirect("bicicleta.jsp");                
            }
            
            if(sitio.equals("crearEvento")){       
                response.sendRedirect("crearEvento.jsp");                
            }
            
            if(sitio.equals("verEventos")){       
                response.sendRedirect("listaEventos.jsp");                
            }
            
            if(sitio.equals("misEventos")){       
                response.sendRedirect("eventos.jsp");                
            }
            if(sitio.equals("editarEvento")){ 
                
                response.sendRedirect("eventos.jsp");                
            }
            
            
            if(sitio.equals("modificarEvento")){          
                int idEvento = Integer.parseInt(request.getParameter("evento")); 
                EventoPrivado e = (EventoPrivado) Evento.seleccionarEventoLite(idEvento);
                e = e.seleccionarEvento();
                sesion.setAttribute("e", e);
                response.sendRedirect("editarEvento.jsp");              
            }
            
            
            
            
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
